聚合函数 (SUM, AVG, COUNT, MAX, MIN)

概述

在SQL中,聚合函数用于对一组值执行计算并返回单个值。常见的聚合函数包括 SUM, AVG, COUNT, MAX, 和 MIN。这些函数在数据分析和报表生成中非常有用。

聚合函数详解

1. SUM

SUM 函数用于计算某一列的总和。它只适用于数值类型的列。

语法:

SELECT SUM(column_name) FROM table_name;

示例:

SELECT SUM(price) AS total_price FROM products;

2. AVG

AVG 函数用于计算某一列的平均值。它也只适用于数值类型的列。

语法:

SELECT AVG(column_name) FROM table_name;

示例:

SELECT AVG(price) AS average_price FROM products;

3. COUNT

COUNT 函数用于计算某一列中非空值的数量。它可以用于任何数据类型的列。

语法:

SELECT COUNT(column_name) FROM table_name;

示例:

SELECT COUNT(product_id) AS total_products FROM products;

4. MAX

MAX 函数用于返回某一列中的最大值。它可以用于数值、字符串和日期类型的列。

语法:

SELECT MAX(column_name) FROM table_name;

示例:

SELECT MAX(price) AS max_price FROM products;

5. MIN

MIN 函数用于返回某一列中的最小值。它同样适用于数值、字符串和日期类型的列。

语法:

SELECT MIN(column_name) FROM table_name;

示例:

SELECT MIN(price) AS min_price FROM products;

实践练习

练习1: 计算总销售额

假设你有一个名为 orders 的表,其中包含 order_id, product_id, 和 quantity 列。请编写一个查询来计算所有订单的总销售额。

提示: 你需要先计算每个订单的销售额,然后再求和。

SELECT SUM(quantity * price) AS total_sales
FROM orders
JOIN products ON orders.product_id = products.product_id;

练习2: 计算平均订单量

假设你有一个名为 orders 的表,其中包含 order_id, product_id, 和 quantity 列。请编写一个查询来计算所有订单的平均订单量。

SELECT AVG(quantity) AS average_order_quantity
FROM orders;

练习3: 查找最贵和最便宜的产品

假设你有一个名为 products 的表,其中包含 product_id, product_name, 和 price 列。请编写一个查询来查找最贵和最便宜的产品。

SELECT MAX(price) AS max_price, MIN(price) AS min_price
FROM products;

总结

聚合函数是SQL中非常强大的工具,能够帮助你快速进行数据分析和报表生成。通过掌握 SUM, AVG, COUNT, MAX, 和 MIN 这些基本函数,你可以在实际项目中更高效地处理数据。

下一步

接下来,你可以学习如何使用 GROUP BY 子句与聚合函数结合,进一步分析数据。此外,HAVING 子句也是一个重要的概念,它允许你对分组后的数据进行过滤。